Aleo:你能保守秘密吗?——Aleo 的工作原理及背后经济学含义
上篇文章 Aleo:你能保守秘密吗?——创始人Howard 和 Alex 为什么构建Aleo的背后故事及使命感 介绍了年轻但技术世界顶级 Howard 以及 历经战争后投身于隐私于自由的加密领域 的Alex。
了解 Alex 和 Howard 的背景对于了解他们正在建造什么以及为什么建造很重要。同样重要的是要了解他们为什么要按照自己的方式从头开始构建市场上最具隐私性的可编程区块链。
真诚建议大家再去读读上篇文章,一定会给你带来不一样的收获!
今天的文章是该系列的第二部分,这部分介绍了Aleo是如何运作的,Aleo 推出的不同产品,背后的经济学含义是什么,对整个行业领域又有怎么样的推动作用等等。
以下为正文,Enjoy!
Aleo 的工作原理
Aleo 希望用高隐私、高可编程性的 L1 区块链来填补这个空白象限。
那么它将如何实现呢?很高兴你问(这个问题)。
Aleo 是一个去中心化平台,它使用其区块链来验证和存储证明,这些证明实际上是 Zexe 交易。
它使用类似比特币的架构,带有分类帐和记录或 UTXO(未花费的交易输出)模型,其中输入指定资产来自哪个地址,输出指定资产发送到的地址,其值表示发送的资产数量。它的共识算法类似于工作量证明,但有一些关键差异。以上是比较点结束的地方,也是 Aleo 创造的一堆新东西进来的地方。
Aleo 有3个不同于传统区块链的部分值得了解(有链接,以防你想更深入):
1.计算环境和区块: zkCloud(https://www.aleo.org/post/zkcloud)
2.编程语言: Leo (https://www.aleo.org/post/leo-programming-language)
3.共识算法: AleoBFT (https://www.aleo.org/post/launching-testnet-3-2-provers)
1. 计算环境: zkCloud
一个典型的可编程区块链,如以太坊,通过在链上的虚拟机(“VM”)上执行程序来工作,该虚拟机必须由网络中的每个节点运行。如果您听说过“EVM”或“EVM-兼容”,那是指以太坊的虚拟机。
Aleo的最大不同之一是zkCloud将其分为两部分: snarkVM 是运行链下应用程序的虚拟机,并将保密的交易发送到Aleo区块链, snarkOS。用加密行内话,就是它将执行( snarkVM )与状态(snarkOS) 分开。
还记得 Zexe 部分的那个图形吗?不记得?好的,我会重新发布它,稍微更新一下:
Zexe 和 Aleo 之间有一个重要的区别。Zexe同时实现了数据隐私和功能隐私,而Aleo有数据隐私但没有功能隐私。在Aleo上,你看不到程序的输入和输出或信用的发送者和接收者,但你可以看到与哪个程序进行了交互。虽然 Howard 是首先提出保证函数隐私的方法的人之一,但该团队认为关注数据隐私是与 Aleo 做出的正确权衡,因为去除函数隐私可以提高性能,同时仍然为开发人员提供保护隐私的工具。
不过,想法是相似的:在链下执行计算,生成证明,然后在链上发送证明。在他的博文中,Alex 将 snarkVM 和 snarkOS 之间的关系比作“物体投射阴影:当你看到阴影时,你知道是某物产生了那个阴影,但很难弄清细节或准确识别它是什么。”
在 snarkVM 中链下运行的程序可以运行任意时间。如果您愿意,您可以运行一个程序,在几个月内将 pi 计算到数万亿位数字,只要在最后将保密交易提交给snarkOS。
重要的是,此体系结构提供了一些其他关键优势:
隐私:因为只有证明在链上,所以任何人(至少没有当前不可行的量子计算机的任何人)都不可能看到交易细节。
高吞吐量: 节点只验证证明而不是运行程序。
维护安全性:ZKPs(零知识证明)以加密方式保证程序是否正确运行,消除了其他 L1 和 L2 的加密经济保证中存在的信任假设。
这种架构让 Aleo 非常接近破解可扩展性三难困境——它允许 Aleo 去中心化、可扩展和安全——并添加了隐私作为很好的衡量标准。
维塔利克·布特林(Vitalik Buterin), 为什么分片很好, 由我修改
阅读 Alex 在 zkCloud 上的博客文章和 Howard 的 github 存储库中的 snarkVM 和 snarkOS 以获得(更多)详细信息。
当然,天下没有免费的午餐。如前所述,运行私有应用程序比运行公共应用程序成本更高。对 Aleo 的早期前景更重要的是,构建一个区块链,它期望很多开发人员——他们都不像Howard那样深谙密码学——来构建私有应用程序,这需要 Aleo 创建自己的编程语言。
2. 编程语言:Leo
Aleo 的目标是让普通的 Web 开发人员能够编写私有应用程序,而不必考虑低级密码学。
挑战在于:用现有的语言这是不可能的。加密领域最流行的语言 Solidity 和 Rust,它们都不能完美地适用于ZKP,现有的零知识语言都是基于数学的。Howard解释说,要使用它们,“你需要了解非常多的高等数学(知识)。” 正如他所描述的,对于 Zexe 和 Aleo 的早期工作,他和团队基本上是“用代码手工连接电路”。
本质上,我肯定是从这里的博客文章中转述的,因为我不是零知识程序员,要构建零知识证明,你需要一个证明系统(在 Aleo 的情况下,一个 SNARK,更具体地说是一个 MARLIN SNARK)和一个 ZK 电路。就像计算机中带有将 0 和 1 作为输入和输出的与非门的电路一样,ZK 电路使用加法门和乘法门,将 0 到 p 之间的数字作为输入和输出。创建 ZK 电路意味着手动将所有这些门放在一起——这就是 Howard 所说的“用代码手工连接电路”的意思。
以这种方式编写私有应用程序就像在 0 和 1 中编写计算机应用程序,然后在上面叠加一堆零知识知识。不实用。软件工程师不再这样做是有原因的——其他工程师构建的语言抽象出所有低级代码,让现代工程师用看起来更像普通人类语言的东西来编写。不幸的是,因为我们处于ZKP “还很早”(的阶段),所以不存在这样的东西。
(旁注:zk L2的Starkware遇到了同一问题,并创建了自己的编程语言, Cairo, 作为回应。)
因此,Aleo 再次决定从头开始构建,或者接近它。他们调查了特定领域语言 (DSL) 的概况,并最终选择了 ZoKrates(发音像 Socrates),并将其分叉。他们改变了语法并将其“开发到几乎无法识别的地方”。
结果就是 Leo。
Leo 的构建看起来和感觉更像 JavaScript,世界上最流行的编程语言,而不是汇编,任何更接近金属的低级编程语言,就像我们刚刚谈到的电路编程恐怖秀。如果 ZKP 要渗透到互联网的结构中,那么有必要让非 ZK 本地开发人员非常容易地合并 ZKP。
在底层,语言是复杂的,抽象掉了电路编程、零知识知识和其他低级概念,因此在底层,开发人员更容易构建私有应用程序。
它需要像这样看起来很熟悉的代码……
和…
构造代表您要运行的计算的证明电路,用您想要的值填充输入线,运行电路,生成证明/验证密钥,然后将所有相关数据组合到 ZKP 中。
更简单地说,它获取代码并生成您正确运行计算的证明,该证明可以从 snarkVM 发送到 snarkOS 以供节点验证。
除了语言之外,Aleo 还开发了一系列其他工具来让开发人员的生活变得轻松(至少更轻松?),包括测试框架和包管理器。他们将所有内容捆绑在 Aleo Studio 中,这是“第一个用于零知识证明的 IDE(集成开发人员环境)”。
Aleo Studio,第一个零知识证明IDE
创建一种新的编程语言是一个很大的赌注。可以肯定的是,为花时间学习它的开发人员提供的便利以及他们从编写利用 ZKP 的应用程序中获得的能力足以克服现有语言的惰性。当我们谈论风险时,我们会回到这一点。
有关更多详细信息,请参阅 Aleo 团队关于 Leo 的博客文章、Leo 论文和 Leo github 存储库。
3. 共识算法: AleoBFT
作为一个欣赏通证经济学的策略书呆子,Aleo 模型中最让我着迷的部分是它的共识算法:AleoBFT。
嗯……你知道吗?让我们把这个想法放在它自己的部分。
商品化您的互补品:AleoBFT和ZPrize
在《技术战略博客历史》(Tech Strategy Blog History)的编年史中,乔尔·斯波尔斯基(Joel Spolsky)2002年的经典著作之一是, 战略信函V (Strategy Letter V)。如果这个名字不熟悉,那么他在其中提到的概念可能不是: 商品化你的互补品。
在信中,Spolsky 解释了大型上市科技公司花费大量时间、金钱和资源来支持开源软件这个看似奇怪的决定,这些软件并不属于他们,也没有从中赚钱。
从微观经济学的角度来看,特别是替代品和互补品的概念,这个决定更有意义。
替代品是指在另一种不可用或变得太贵时可以相互替代的产品。百事可乐是可口可乐的替代品。茶是咖啡的替代品。如果您经营一家企业,您希望您的替代品尽可能不可用且价格昂贵。
另一方面,互补品是通常一起使用的产品。汽车和汽油就是一个典型的例子。Spolsky 指出,Netscape开源其浏览器是因为浏览器是其赚钱工具服务器的补充。如果你经营一家企业,你希望你的补充品尽可能丰富和便宜。
这是Spolsky书中提及“钱”的摘选:
再一次:当产品的互补品价格下降时,对产品的需求增加。一般来说,一家公司的战略利益是尽可能降低其互补产品的价格。理论上可持续的最低价格将是“商品价格”——当你有一群竞争对手提供无法区分的商品时出现的价格。
因此:
聪明的公司会尝试将其产品的互补品商品化。
如果你能做到这一点,对你产品的需求就会增加,你就能收取更多的费用,赚更多的钱。
除了有用的策略课程外,为什么我只花了 293 个字来讨论一篇2002 年的博文?
因为Aleo在zkSNARK证明上演绎着Commoditize Your Complements (商品化你的互补品)的剧本,在一定程度上Aleo将策略纳入它的共识机制。这就是我的意思。
粗略地说,越多公司在Aleo应用程序中使用 zkSNARKs,Aleo就越成功。由于生成证明很困难,Aleo 的设计允许应用程序将证明生成外包给第三方“证明服务”,后者使用专门的硬件和软件比应用程序开发人员在某些基本 CPU 上更快、更便宜、更高效地计算zkSNARK。
目前,未来最大的限制因素之一是,即使是为了证明服务,“创建正确应用程序执行的零知识证明也比直接运行应用程序要昂贵得多”。 zkSNARK 证明还不是一个商品。
为了让零知识证明变得司空见惯,并让 Aleo 取得成功,zkSNARK 证明硬件、软件和知识需要商品化。而Aleo 既设计了它的共识机制,又赞助了ZPrize竞赛以将证明商品化。
让我们退后一步,深入了解细节。
传统的 PoW 挖矿,如比特币,相对简单,硬件商品化。矿工在 ASIC 上研磨 SHA-256 函数,并尝试将矿机放置在廉价能源附近以实现利润最大化。获得优势的创造性方法并不多。
在 Aleo 上,证明需要打磨 zkSNARKs,这是一个更丰富的设计空间,为成熟的证明者提供了更多获得巨大优势的机会。Alex 告诉我,在 Aleo 的 Testnet 2 上,“一个证明者正在运行一些其他人无法访问的特殊东西,因此他们最终占据了主导地位,这出于各种原因都是不利的,包括社区认知,最重要的是,底层协议的安全性 ” Aleo 与比特币的不同之处还在于,它每个区块接受多个有效解决方案,因此将奖励分配给更多的证明者,而不是“赢家通吃”的动态,但一个压倒其他所有人的证明者的存在会抑制证明者的参与,削弱去中心化程度,还会使得成本更高。
因此,Aleo 做了两件事来将其 zkSNARK 证明作为一个互补品商品化:AleoBFT和 ZPrize。
3.1 AleoBFT
AleoBFT 结合了股权证明(PoS) 和一种特定类型的工作量证明 (PoW),称为简洁工作证明(本身是必要工作证明的子集)。
我们将在本节中深入探讨,但您需要知道的是,AleoBFT 旨在做三件事:保护协议,确保有足够的熟练证明者来满足应用程序的 zkSNARK 需求,并激励更多高效且便宜的证明。
在该公司 11 月的博文中,在 Aleo 测试网 3 中引入证明者,Pratyush Mishra 写道,解决“激励开发更好的证明架构”的问题是“Aleo 新共识算法 AleoBFT 设计背后的主要动机之一。 ” AleoBFT(BFT代表拜占庭容错):
是一种混合架构,它利用股权证明来实现块确认的即时终结,并利用工作证明类型的“coinbase 难题”来奖励开发更快的证明生成技术。
(旁注,因为这也让我感到困惑:“coinbase puzzle”与Coinbase 公司无关。两者都是以coinbase 交易命名的,这是一个区块中的第一笔交易。TIL(编者注:Today I Learned 缩写,今天我得知))
AleoBFT 的 PoS 部分的详细信息仍在公布中,但该团队表示它将基于 DiemBFT,您可以在这份Messari报告中了解更多信息。从字里行间看——Aleo写道,证明者不会在 AleoBFT 中生成区块——我的猜测是:
·证明者为给定的区块生成证明,并根据他们提交的高于目标的证明数量按比例获得 coinbase 奖励(总区块奖励的一个子集)。
·确认者将 Aleo 积分用于提议由这些证明组成的区块,并获得总区块奖励的一部分用于验证。
·验证者检查块内的证明是否正确(无需学习证明内容的知识)并获得部分块奖励。
同样在 Dan Boneh 门下学习密码学的 Ali Yahya 向我介绍了为什么博弈论 (PoS)和密码学 (PoSW) 方法的结合是有意义的。 “同意要包含的交易,你不能用密码学的方式来做,所以你需要使用博弈论的方法。一旦你有了你想要按顺序执行的交易,其他一切都是你应该以加密方式做的事情。” 换句话说,尽可能使用密码学,在不能使用密码学的地方使用博弈论。
在测试网3中,即 Aleo 进入主网之前的当前和最终测试网,Aleo专注于密码证明部分。这也是与我们在这里的讨论最相关的。
AleoBFT 的证明部分基于Aleo 的原始共识算法,简洁工作证明 (PoSW)。理解 PoSW 最重要的一点是,尤其是当以太坊和新链出于环境原因避开工作证明时,简洁工作证明中的“工作”实际上是有用的,这与计算 SHA-256 不同。事实上,PoSW 是基于必要工作的证明,这是 Assimakis Katis(Aleo 一开始的顾问)和 Joe Bonneau(另一位前 Boneh 学生)在 2020 年提出的想法,“证明生成是中本聪共识中使用的工作量证明的一个组成部分,使用原本会被浪费的资源有效地产生证明。”如果您需要花费精力来保护区块链,请将其花在证明上。
这项工作在两个方面是必要的,直接的和间接的:
·直接地。生成 zkSNARKs 可以让人们在不泄露任何信息的情况下证明某事。
·间接地。通过激励生成 zkSNARKs,Aleo希望加速开发更好的证明架构。
在零知识播客中,Howard说:“目标是激励矿工为 SNARK 开发硬件加速,使这些类型的计算成为商品和司空见惯。” 一种方法是确保矿工总是有东西要证明。
“如果市场需求表明有很多程序,并且人们想要支付大量交易费用来运行他们的程序,那么我将针对这些类型的程序定位我的硬件,”Howard解释道。 “如果活动突然减少,我仍然可以在区块链上挖一个区块并获得奖励。”
有趣的是,考虑到商品化的性质,Aleo 在这方面的努力也有助于其他 ZK 协议。 Howard指出,Aleo 上的 coinbase 奖励也可能对像 Matter Labs 和 Aztec 这样的公司有用,它们的汇总验证器旨在为计算 ZKP 提供高性能。在汇总流量较低的时期,这些验证者可以切换并使用他们的硬件在 Aleo 上生成 zkSNARK。
ZKP 行业依然如此初期和规模小,以至于参与者共同努力做大蛋糕比为每个切片的大小而战更有优势。为此,两家公司合作开展了商品化互补品总体规划的第二阶段:ZPrize。
3.2 ZPrize
当 Howard和 Alex 看到一个 Testnet 2 证明者统治了其他所有人时,他们意识到他们需要做更多的工作来传播知识和加速商品化,所以他们想出了一个主意:一个以 DARPA 大挑战为模型的竞赛,称为 ZPrize。他们在 5月宣布宣布了这一消息。
比赛有三个目标:
他们与32个合作伙伴,(包括 Polygon、Mina、Aztec 和 Espresso 等 ZK 协议)一起筹集了超过 800 万美元的奖金,奖励那些能够提出最佳解决方案以应对“加速 GPU/FPGA 上的 MSM 操作”和“简洁工作证明加速(GPU)”等挑战的人。
ZPrize网站
重要的是,为了有资格获得奖品,“所有获奖作品都将成为开源库,造福所有人。”商品化互补品。
许多奖项都侧重于硬件的进步,因为正如 Alex 在宣布ZPrize的博客文章中所写:
大部分优化潜力仍然存在于硬件加速中。许多人忘记了现代网络的现代加密技术只有在 CPU 本地植入后才变得实用。
为了让零知识证明成为下一代网络的基础,为了让 Aleo、Matter Labs、Aztec、Espresso 等发挥它们的潜力,它们需要融入硬件本身。
ZPrize 最近公布了首届比赛的结果,而且效果明显。跨类别的平均改进比基线高 5.3 倍,范围为 2.3 倍至 11.3 倍。
每个提交的类别都有改进,有些是戏剧性的。与 Aleo 最直接相关的两个——Proof-of-Succinct-Work Acceleration (GPU) 和 Fast Verifier for Marlin Proof System——的改进最大,分别为 6.7 倍和 11.3 倍。 Marlin 改进已经集成到 snarkVM 中,团队目前正在集成 PoSW 工作,这意味着 Aleo 上的应用程序、证明者和验证者已经直接从竞争中受益。
旁注:MARLIN 以快速敏捷的鱼命名,是 Aleo 使用的 SNARK 类型。它针对速度和效率进行了优化。具体来说,MARLIN 允许应用程序开发人员不需要为其应用程序运行可信设置的系统。 Aleo 的可信设置于 2021 年 11 月进行,有 2,241 名贡献者,是通用的,这意味着应用程序不需要运行自己的。使用 MARLIN 是降低使用 ZKP 的成本和开发人员开销计划的一部分。
可信设置仪式非常酷,但非常复杂,并且会显着增加在 Aleo 上启动新应用程序的开销。听一听 2017 年 Radiolab 的精彩片段,了解可信设置中的内容,然后问问自己,“让开发人员经历这一过程会增加还是减少基于 Aleo 构建的应用程序数量?”
AleoBFT 和 ZPrize 相结合,是 Aleo 试图将 zkSNARK 证明商品化,从而增加对 zkSNARK 的需求。
商品化是一种有趣的策略,因为它有利于任何与商品化商品或服务互补的人。如此多的零知识协议联合起来追求这一目标,说明了这个行业的新生、机会的广度以及表面上看起来像一个拥挤的领域的合作。
未完待续……关注我们,了解Aleo多一点!下一部分将于明日更新!
翻译:AleoAsia (转载请注明)
AleoAsia大中华社区是Aleo官方指定并指导创立的Aleo大中华区社群,旨在为大中华区社区的伙伴传递最权威、最快速、最全面的项目资讯;同时协助Aleo在大中华区举办各种活动,包括宣传、会议、AMA等,扩大Aleo在大中华区的知名度,获得更多人对Aleo的认同感,从而加入到Aleo,一起为Aleo生态的繁荣努力!
AleoAsia网站:https://aleoasia.notion.site/Aleo-Asia-Aleo-7138f4ed225a4f9c9c8e869d0fdc2e31
加入AleoAsia大中华社区请在后台回复 AleoAsia 。
【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。DYOR!】